import type {
  EchartsBarSeriesOption,
  EChartsElementEvent,
  EChartsOption,
  EchartsTitleOption,
} from '../../types/interfaces'

export interface BarChartProps {
  /**
   * 图表容器ID
   */
  id: string
  /**
   * x轴分类数据
   */
  categories: string[]
  /**
   * y轴数值数据
   */
  values: number[]
  /**
   * 图表高度
   */
  height?: string
  /**
   * 图表宽度
   */
  width?: string
  /**
   * 图表标题
   */
  title?: string
  /**
   * 标题样式配置
   */
  titleOptions?: EchartsTitleOption
  /**
   * 系列配置
   */
  seriesOptions?: EchartsBarSeriesOption
  /**
   * 自定义ECharts配置
   */
  options?: EChartsOption
  /**
   * 是否渲染空数据图表
   */
  renderEmpty?: boolean
  /**
   * 点击事件回调
   */
  onClick?: (params: ChartClickParams, event: EChartsElementEvent | undefined) => void
}

export const DEFAULT_BAR_CHART_PROPS: Partial<BarChartProps> = {
  height: '300px',
  width: '100%',
  renderEmpty: true,
}
